package com.bto.leasetest.request;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;

import java.util.List;

@Data
@Slf4j
public class OperatingSignBody extends RequestBase<OperatingSignBody> {
    private PrjProject prjProject;
    private List<PrjProjectLeaseItem> prjProjectLeaseItemList;
    private List<PrjProjectAccount> prjProjectAccountList;

    @Data
    @NoArgsConstructor
    public static class PrjProject {
        private String partnersContractNumber;
        private String gridTiedDate;
        private String informationType;
    }

    @Data
    @NoArgsConstructor
    public static class PrjProjectLeaseItem {
        private String partnersLeaseItemId;
        private String moduleProducer;
        private String productModel;
        private String inverterNumber;
        private Integer installedCapacity;
        private String inverterBrand;
        private String inverterModel;
        private Double moduleQuantity;
        private String addressConsistent;
        private String electricProvinceCode;
        private String electricCityCode;
        private String electricAreaCode;
        private String electricAddress;
        private List<Insurance> insuranceList;
        private List<Module> moduleList;
    }

    @Data
    @NoArgsConstructor
    public static class Insurance {
        private String insuranceType;
        private String insuranceDateFrom;
        private String insuranceDateTo;
        private String insuranceCompany;
        private String insuranceNumber;
        private Integer insuranceAmount;
        private String firstBeneficiary;
    }

    @Data
    @NoArgsConstructor
    public static class Module {
        private String moduleCode;
    }

    @Data
    @NoArgsConstructor
    public static class PrjProjectAccount {
        private String accountType;
        private String accountName;
        private String accountNumber;
        private String tssBankNumber;
        private String elecCode;
    }

}
